草庐IT

TypeScript 条件语句

全部标签

javascript - 为什么 Typescript 接受数字值作为类型?

我的Angular4项目中有一个错误,我在其中声明了一个变量:debounce:300;代替debounce=300;当然this.debounce在修复之前是未定义的。在这种情况下,Typescript不应该给我一个错误吗? 最佳答案 如果你用300的类型注释声明一个变量,这意味着不仅类型是数字,而且只有值300是可接受的:vardebounce:300;如果你试图分配,比如200,你会得到一个错误:debounce=200;打开严格的null检查,编译器将捕获此类问题(您的意思是分配值,而不是类型注释):vardebounce:

javascript - Kendo ui grid if else 条件

我的代码有什么问题?我必须检查kendoUI网格是否在我的专栏中有“OrderType20”。如果是,我需要应用包含背景的css条件,但它不起作用,有人可以帮助我吗?谢谢template:'#if(OrderType=="OrderType20"){##:OrderType##}else{#OrderType#}#' 最佳答案 对于kendoui网格行模板的嵌套ifelse可能会有所帮助。即template:"#if(ErrorDesc==null){##:DeviceLabel##}elseIf(ErrorDesc==""){##

javascript - 使用 confirm() 作为 if 的条件?

我有这个功能:functionRemoveProduct(){if(confirm("Poista?")==returntrue){returntrue;}else{returnfalse;}}当您点击页面上的“删除”按钮时,它会询问是否应该删除产品,如果答案是肯定的,它就会删除它。但据我所知,我不能在if语句条件上使用另一个括号?应该怎么做? 最佳答案 当您将返回值与true进行比较时,您不应使用returntrue,而应使用true:functionRemoveProduct(){if(confirm("Poista?")==t

javascript - 不正确的行号 - sourcemaps,Webpack 2 Typescript

此问题出现在Chrome59.0.3071.115和Firefox54.0.1我一直在做大量研究,尝试使用Webpack2.2.1和open-browser-webpack-plugin为我的Typescript源代码获取正确的行号。我试过设置devtool到以下不同的选项://https://webpack.js.org/configuration/devtool///devtool:'eval',//evalvertfastbutlinenumberswillbewrong//devtool:'eval-source-map',//startsoffslowbutfastrebui

javascript - 使用来自 Typescript 的 react-meteor-data

问题:我如何在Typescript中使用react-meteor-data?背景:我刚开始一个新项目,想使用Meteor。根据我一直在阅读的内容(link),建议似乎是将React与Meteor一起用于新项目。太好了,无论如何我都想学习React。因为我是一名Java程序员,所以我非常喜欢使用Typescript。但是我在这三项技术上遇到了很多麻烦。具体来说,我如何将React组件连接到meteor容器?我相信我应该使用react-meteor-data但如果我运行typingssearchmeteoraddreact-meteor-data我一无所获。我从这里去哪里?额外学分:我真正

javascript - 有没有什么方法可以在 TypeScript 中定位普通的 JavaScript 对象类型?

2021年更新有关使用较新功能的有效解决方案,请参阅此答案https://stackoverflow.com/a/59647842/1323504我正在尝试编写一个函数,我想在其中指示它返回某种纯JavaScript对象。该对象的签名是未知的,目前并不有趣,只是因为它是一个普通对象。我的意思是满足例如jQuery的isPlainObject的普通对象功能。例如{a:1,b:"b"}是一个普通的对象,但是varobj=newMyClass();不是“普通”对象,因为它的constructor不是Object.jQuery在$.isPlainObject中做了一些更精确的工作,但这超出了问

javascript - Rxjs 可观察等待直到满足某些条件

我有以下重试逻辑来重试操作。它适用于单个请求。对于多个正在进行的请求,我想在重试之前等待现有的重试逻辑完成。handleError(errors:Observable){constretryCountStart:number=1;//waitifthereisanyexistingoperationretrying//onceitiscomplete,continueherereturnerrors.mergeScan((retryCount:any,err:any)=>{if(retryCount如何在上述方法中满足某些条件之前添加延迟? 最佳答案

javascript - Typescript "Cannot assign to property, because it is a constant or read-only"即使属性未标记为只读

我有以下代码typeSetupProps={defaults:string;}exportclassSetupextendsReact.Component{constructor(props:any){super(props);this.props.defaults="Whatever";}尝试运行此代码时,TS编译器返回以下错误:Cannotassignto'defaults'becauseitisaconstantoraread-onlyproperty.deafualts是只读属性,但显然没有这样标记。 最佳答案 您正在扩展R

javascript - 当在浏览器的开发工具中暂停一条语句时,如何在该语句之后立即终止执行?

假设我有这个功能:functiontest(){//statements1statement_X;//statements2}我正在使用浏览器的开发工具逐步执行语句。现在,当我暂停在“statement_X”时,我想终止函数执行(我不希望函数的“statements2”部分被执行),就好像“statement_X”后面紧跟着return;语句。我知道Chrome有内联脚本编辑功能,所以我可以在暂停语句后手动添加return语句,然后按CTRL+S重新执行整个过程,但我也需要IE的这个功能,所以我希望有一个通用的解决方案。提前终止执行似乎是一件很容易的事情(对于浏览器),所以我希望开发工

javascript - 有条件地递归更改所有节点和边的不透明度(d3)

更新:IhavecreatedaJSFiddlehere.请用你的答案发布一个更新的fiddle。我有动态过滤器,用户可以将其应用于数据,但它们会更改节点的不透明度以指示过滤入和过滤出的内容(过滤后的“out”元素仍然部分可见,并且未使用实际的d3filter()函数(故意地))。我还在每个被过滤掉的节点上设置了一个属性(例如node={"name":"test","isFilteredOut":true};)。所以就这个问题而言,即使我使用了“过滤器”这个词,它实际上只是一个有条件的样式更改(我会尝试在这篇文章的引号中加上“过滤器”这个词来提醒这一点)。这一切都很好,但现在我想递归地